Lossy compression is widely used in signal processing and signal transmission. There are several applications of lossy signal compression, such as the compression of camera images, multispectral images, hyperspectral images, and synthetic aperture radar (SAR) data, to name a few. In such applications, the goal is to encode the signal with an encoder and use a small number of bits to represent the signal, such that the signal can be transmitted at a lower bit rate, at the expense of some distortion in the signal, i.e., there is some loss of information during the compression, hence the compressions is lossy.
For example, conventional coding methods include the conventional encoder taking as input an uncompressed signal and producing a compressed signal. Lossless transmission can be used to transmit the compressed signal to the conventional decoder, which produces a decompressed signal, which is an estimate of the uncompressed signal. The goal of the conventional encoder performing the compression, is to produce a bitstream, i.e., a sequence of bits that represent the signal with as little distortion as possible for a given bit-rate.
The conventional decoder, decompressing the signal, uses the sequence of bits produced by the conventional encoder to recover the original signal with as little distortion as possible for the given bit rate.
A number of commonly used state of the art encoding methods use two techniques: prediction followed by transformation. The prediction, when used, tries to predict parts of the signal being encoded, e.g., blocks of an image, using information from other parts of the signal, or from other signals or their parts. Therefore, a conventional encoder may include prediction parameters in the bitstream describing how the prediction was performed, e.g., which part of the signal was used and which prediction method was used, so that a conventional decoder can also perform the same prediction step.
Because the prediction is typically imperfect, there is a prediction residual that is also encoded. The conventional hope is that the residual is easy to encode, so that the rate used to transmit the prediction parameters and the rate used to code the residual is lower than simply encoding the signal without prediction. Some encoders, omit the prediction and simply encode the signal without prediction, typically achieving a lower compression performance.
Those two conventional techniques are typically combined with other techniques that refine the performance of the conventional encoder, e.g., by selecting how many bits of the bitstream to use for each part of the signal so that the trade off between rate and distortion is optimally traded throughout the signal. Entropy-coding of the significant transformation coefficients and their location may also be used.
Unfortunately, those encoding techniques produce very complex conventional encoders, and, typically require very simple conventional decoders. This is because, in some applications, the conventional encoder can have significant computational resources, while the conventional decoder at the playback device can have limited resources. But, in applications in which the encoder has to be limited computationally, this approach becomes problematic. For example, such environments include airborne and spaceborne platforms, such as remote sensing systems on satellites, which require large amounts of raw data that need to be compressed and transmitted. In such platforms, conventional compression approaches based on transform coding, such as JPEG and JPEG2000, are not a viable option, since they require large amounts of computational resources along with consuming significant amounts of power.
An alternative to those conventional techniques is known in the art as distributed coding, and is sometimes referred to as Slepian-Wolf coding if it is lossless, or Wyner-Zyv if it is lossy, as more often the case in images. These distributed coding approaches exhibit a lightweight encoder, shifting some of the computational complexity to the decoder.
Unfortunately, these approaches have several drawbacks in practice. In particular, it is not well known in the art how such approaches can easily exploit the structure of the signal, as is done in transformation-based methods, without also adding significant complexity to the encoder. Furthermore, typical distributed coding approaches are not able to accurately estimate the bit rate required to compress the image. Thus, practical approaches either are conservative and overestimate that rate—reducing the compression efficiency—or require feedback from the decoder to know when to stop sending bits—making them impractical in a number of applications, such as satellite imaging and remote sensing.
For this reason, and other reasons, there is a need to develop methods, systems and devices having a low-complexity encoding approach for efficient compression of images, including multispectral images, that shifts the complexity to the decoding while exploiting the structure of images.